<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="../VueJs/vue.js"></script>
    <style>
        * {
            margin: 0;
            padding: 0;
        }

        ul {
            display: flex;
            height: 200px;
            width: 200px;
            background-color: aqua;
            justify-content: center;
            align-items: center;
        }

        li {
            height: 50px;
            background-color: blue;
        }
    </style>
</head>

<body>
    <!--
    Vue中的事件修饰符: 可多个修饰符连写，注意顺序写在前先执行，@click.stop.prevent先阻止冒泡再阻止默认行为
        1.prevent: 阻止默认事件（常用）;
        2.stop:阻止事件冒泡（常用）;
        3.once:事件只触发一次（常用）;
        4.capture:使用事件的捕获模式;
        5.self:只有event.target是当前操作的元素时才触发事件; 
        6.passive:事件的默认行为立即执行，无需等待事件回调执行完毕;
    -->

    <div id="root">
        <h1>欢迎来到{{name}}学习</h1>
        <a href="http://www.baidu.com" @click.passive="showInfo">点击跳转</a><!-- 先执行点击事件，再跳转 -->
        <ul @click="showInfo">
            <li @click.stop="showInfo">阻止事件冒泡</li>
        </ul>
    </div>
</body>
<script>
    const vm = new Vue({
        el: '#root',
        data: {
            name: "guiGu"
        },
        methods: {
            showInfo(e) {
                //阻止时间的默认行为
                // e.preventDefault();vue中可以不用这么些，用事件修饰符@click.prevent,这个prevent即为事件修饰符,对click事件进行修饰
                alert('你好');
            }
        }
    });
</script>

</html>